package controllers;
import play.*;
import play.mvc.*;
import play.test.Fixtures;

import java.util.*;

import controllers.utilisateurs.Utilisateurs;

import models.*;

public class Application extends Controller 
{

	@Before
    static void globals() {
        renderArgs.put("connected", connectedUser());
    }
	
    public static void index() {
        render();
    }
    
    public static void authenticate(String _mail, String _mdp) {
        Utilisateur utilisateur = Utilisateur.findByEmail(_mail);
        if (utilisateur == null || !utilisateur.checkPassword(_mdp)) {
            flash.error("Mauvais mail ou mot de passe");
            flash.put("email", _mail);
            index();
        }
        connect(utilisateur);
        flash.success("Bienvenue, %s !", utilisateur.nom);
        Utilisateurs.show(utilisateur.id);
    }
    
    static void connect(Utilisateur utilisateur) {
        session.put("id", utilisateur.id);
        session.put("nom", utilisateur.nom);
        session.put("role", utilisateur.role);
    }
    
    static Utilisateur connectedUser() {
        String utilisateurId = session.get("id");
        return utilisateurId == null ? null : (Utilisateur) Utilisateur.findById(Long.parseLong(utilisateurId));
    }

    
    public static void logout() {
        flash.success("You've been logged out");
        session.clear();
        index();
    }
    


}
